package com.hnchances.studentscoresystem.dto.response;

import lombok.Data;

import java.util.Date;

/**
 * 用户信息响应DTO
 * 对应接口：/user/userinfo（有鉴权）
 * 功能：返回用户信息（排除密码等敏感字段）
 */
@Data
public class UserInfoResponse {

    /**
     * 用户ID（唯一标识）
     * 约束：非空（匹配数据库user表id字段）
     */
    private Long id;

    /**
     * 用户名（登录账号）
     * 约束：非空（匹配数据库user表userName字段）
     */
    private String userName;

    /**
     * 电话号码（11位手机号）
     * 约束：可空（匹配数据库user表phone字段）
     */
    private String phone;

    /**
     * 真实姓名
     * 约束：可空（匹配数据库user表trueName字段）
     */
    private String trueName;

    /**
     * 用户身份（0-学生，1-老师，2-管理员）
     * 约束：非空（匹配数据库user表identity字段）
     */
    private Integer identity;

    /**
     * 班级ID（关联class表id）
     * 约束：可空（学生/老师关联班级，管理员可空，匹配数据库user表classID字段）
     */
    private Integer classID;

    /**
     * 课程ID（关联course表id，仅老师关联）
     * 约束：可空（匹配数据库user表courseID字段）
     */
    private Integer courseID;

    /**
     * 学生ID（关联student表id，仅学生关联）
     * 约束：可空（匹配数据库user表studentID字段）
     */
    private Long studentID;

    /**
     * 注册日期
     * 约束：非空（匹配数据库user表creatDateTime字段）
     */
    private Date creatDateTime;

    /**
     * 最后登录时间
     * 约束：可空（匹配数据库user表lastLoginDateTime字段）
     */
    private Date lastLoginDateTime;

    /**
     * 审核状态（0-未审核，1-已审核）
     * 约束：非空（匹配数据库user表verify字段）
     */
    private Integer verify;
    // 屏蔽密码
    public void setPassWord(Object o) {
        return;
    }
}